// 内容
        // alert("hello world")
        // 控制台输出
        console.log("log")
        console.info("info")
        console.warn("warn")
        console.error("error")
        // 输出到页面
        document.write("页面内容")
        // 声明变量 var 变量全局作用域
        var i = 1
        {
            i = "hello"
        }
        console.log(i);

        // let 匹配最近的大括号有效 不能重复定义
        // let a = 2
        {
            let a = 3
        }
        // console.log(a);

        // const 声明常量，不可以重新赋值
        const b = 3


        let c = "h"
        let d = +c
        let e = parseInt(c)
        console.log(e);
        console.log(typeof e); // NaN
        // 其他类型转boolean类型
        // 字符串 --> boolean ：非空为true  ""(空字符串)为false
        // 数字 --> boolean ： 0/NaN为false  其余为true
        // null/undefined --> false
        // ==与===：==比较值忽略类型，===先比较类型，再比较值
        // 对象 
        let obj = new Object()
        obj.name = "zs"
        obj.age = 20
        console.log();

        let obj1 = {
            name: "zs",
            age: 20,
            birth: new Date()
        }
        console.log(obj1.name);


        // 函数
        function func1(a, b, c) {
            return a * b * c
        }
        let fun2 = function (a, b) {
            return a - b;
        }
        // 与方法二写法类似，省略了function关键字，转换成箭头函数的形式
        let fun3 = (a, b) => {
            return a + b
        }
        // 调用
        func1(1, 2, 3, 4); // 实参数量可以和形参数量不一致  
        fun2()
        // 实参数量小于形参数量，形参想要默认值，如何实现？
        // 实参数量大于形参数量，在函数中可以拿到实参吗？
        
        // 数组
        let arr = new Array(1, 2, 3, 4)
        let arr1 = [1, 2, 3, 4]
        // log 
        console.log("length", arr.length);
        arr.push(5)
        arr.pop()
        arr.unshift(1)
        arr.shift()

        let str = "kaifamiao"
        console.log(str.indexOf('a'));
        console.log(str.charAt(2));
        console.log(str.substring(2)); // [2, arr.length)
        console.log(str.substring(2, 4)); // [2,4)

        // 日期 new Date(时间字符串) (yyyy-MM-dd HH:mm:ss) (yyyy/MM/dd HH:mm:ss)
        let date = new Date() // 当前时间
        let up = new Date("1949-10-01 14:00:00")
        console.log(date.toLocaleString()); // yyyy/MM/dd HH:mm:ss
        console.log(date.getFullYear());// 年
        console.log(date.getMonth() + 1); // 月 0-11 
        console.log(date.getDate());  // 日
        console.log(date.getHours()); // 小时
        console.log(date.getMinutes()); // 分钟
        console.log(date.getSeconds()); // 秒
        console.log((date - up) / 1000 / 60 / 60 / 24 / 365); // 日期相减 结果是毫秒值

        // window对象
        // alert("我是弹出框")
        // let con = confirm("你确认要删除嘛？")
        // console.log(con);
        // prompt(页面上的提示内容[, 默认输入的内容])
        // let msg = prompt("请输入，我同意以上协议！", "我同意以上协议！")
        // console.log(msg);
        // 定时器 setTimeout(()=> {// 执行的操作} ,time)
        // setInterval(()=> {// 执行的操作} ,time)
        setTimeout(()=> {
            console.log(new Date());
        } ,2000)

        let index = setInterval(() => {
            console.log(new Date());
        }, 2000)

        setTimeout(() => {
            clearInterval(index)
        }, 10 * 2000) // 20秒之后，清除上面的定时器